the wood/개발노트 (비교)
r11 vs r12 | ||
---|---|---|
1 | 1 | [[분류:imitated seed 2]] |
2 | 2 | [include(틀:상위 문서, 문서=New seed)] |
3 | ||
4 | 4 | [목차] |
5 | 5 | == 개요 == |
6 | 6 | 분명 New seed 개발하기 시작했는데 아무도 관심이 없고 아무도 모르고 아무도 안 쓰고 심지어 공식 문서조차 없어서 그냥 귀찮아 개발노트랑 업데이트 일지나 대충 끄적이려고 만든 문서 중 하나 |
... | ... | |
58 | 58 | || 근데 일단 써보십쇼 정상 작동은 안 합니다 ㅇㅇ || |
59 | 59 | |
60 | 60 | == 개발일지 == |
61 | === 문법 신창섭화 === |
|
62 | ==== 동영상 매크로 ==== |
|
63 | {{{#!syntax javascript |
|
64 | // 동화상 |
|
65 | for(let finc of (data.match(/\[(youtube|kakaotv|nicovideo|vimeo|navertv)[(](((?![)])(.|<spannw>[)]<\/spannw>))+)[)]\]/gi) || [])) { |
|
66 | let inc = finc.match(/\[(youtube|kakaotv|nicovideo|vimeo|navertv)[(](((?!([)]))(.|<spannw>[)]<\/spannw>))+)[)]\]/i); |
|
67 | let vid = inc[1].replace(/<spannw>[)]<\/spannw>/, ')'); |
|
68 | let id = inc[2].replace(/<spannw>[)]<\/spannw>/, ')').split(',')[0].replace(/^(\s+)/, '').replace(/(\s+)$/, '').replace(/[&]quot;/g, '"').replace(/[&]amp;/g, '&').replace(/[&]lt;/g, '<').replace(/[&]gt;/g, '>'); |
|
69 | let paramsa = inc[2].replace(/<spannw>[)]<\/spannw>/, ')').split(',').slice(1, 99999); |
|
70 | let params = {}; |
|
71 | for(let item of paramsa) { |
|
72 | let pp = item.split('=')[0].replace(/^(\s+)/, '').replace(/(\s+)$/, '').toLowerCase(); |
|
73 | params[pp] = item.replace(pp + '=', '').replace(/^(\s+)/, '').replace(/(\s+)$/, ''); |
|
74 | } |
|
75 | let d; |
|
76 | switch(vid.toLowerCase()) { |
|
77 | case 'youtube': { |
|
78 | d = `<iframe allowfullscreen src="//www.youtube.com/embed/${encodeURIComponent(id)}${params.start ? `?start=${encodeURIComponent(params.start)}` : ''}${params.end ? ((params.start ? '&' : '?') + 'end=' + encodeURIComponent(params.end)) : ''}" loading=lazy width="${params.width || 640}" height="${params.height || 360}" frameborder=0></iframe>`; |
|
79 | } |
|
80 | break; case 'kakaotv': { |
|
81 | d = `<iframe allowfullscreen src="//tv.kakao.com/embed/player/cliplink/${encodeURIComponent(id)}" loading=lazy width="${params.width || 640}" height="${params.height || 360}" frameborder=0></iframe>`; |
|
82 | } |
|
83 | break; case 'nicovideo': { |
|
84 | d = `<iframe allowfullscreen src="//embed.nicovideo.jp/watch/sm${encodeURIComponent(id)}" loading=lazy width="${params.width || 720}" height="${params.height || 480}" frameborder=0></iframe>`; |
|
85 | } |
|
86 | break; case 'vimeo': { |
|
87 | d = `<iframe allowfullscreen src="//player.vimeo.com/video/${encodeURIComponent(id)}" loading=lazy width="${params.width || 640}" height="${params.height || 360}" frameborder=0></iframe>`; |
|
88 | } |
|
89 | break; case 'navertv': { |
|
90 | d = `<iframe allowfullscreen src="//tv.naver.com/embed/${encodeURIComponent(id)}" loading=lazy width="${params.width || 640}" height="${params.height || 360}" frameborder=0></iframe>`; |
|
91 | } |
|
92 | } |
|
93 | ||
94 | data = data.replace(finc, d); |
|
95 | } |
|
96 | }}} |
|
97 | ||
98 | 여기서 nicovideo.jp를 정상화해야한다 |
|
99 | ||
100 | 아주 간단하게 sm(id 8자리)와 (id 8자리) 둘 다 작동하게 수정해보자 |
|
101 | ||
102 | {{{#syntax javascript |
|
103 | break; case 'nicovideo': { |
|
104 | id = id.startsWith('sm') ? id : `sm${id}`; |
|
105 | d = `<iframe allowfullscreen src="//embed.nicovideo.jp/watch/${encodeURIComponent(id)}" loading=lazy width="${params.width || 720}" height="${params.height || 480}" frameborder=0></iframe>`; |
|
106 | } |
|
107 | }}} |
|
108 | ||
109 | 이렇게 정상화하면 잘 작동할 것이다 |
|
110 | ||
111 | 111 | === 나무야 살려줘 === |
112 | 112 | {{{#!syntax markdown |
113 | 113 | {{{#!if namu != undefined |
... | ... |